0 Prolog
↳1 UnifyTransformerProof (⇔, 0 ms)
↳2 Prolog
↳3 PrologToPiTRSProof (⇒, 34 ms)
↳4 PiTRS
↳5 DependencyPairsProof (⇔, 0 ms)
↳6 PiDP
↳7 DependencyGraphProof (⇔, 0 ms)
↳8 TRUE
goal_in_ → U1_(np_in_aaa(S1, S2, S))
np_in_aaa(Si, So, S) → U7_aaa(Si, So, S, det_in_aaa(Si, St, T))
det_in_aaa(.(a, S), S, a) → det_out_aaa(.(a, S), S, a)
det_in_aaa(.(the, S), S, the) → det_out_aaa(.(the, S), S, the)
U7_aaa(Si, So, S, det_out_aaa(Si, St, T)) → U8_aaa(Si, So, S, T, noun_in_aaa(St, So, N))
noun_in_aaa(.(book, S), S, -(book, s)) → noun_out_aaa(.(book, S), S, -(book, s))
noun_in_aaa(.(books, S), S, -(book, p)) → noun_out_aaa(.(books, S), S, -(book, p))
noun_in_aaa(.(box, S), S, -(box, s)) → noun_out_aaa(.(box, S), S, -(box, s))
noun_in_aaa(.(boxes, S), S, -(box, p)) → noun_out_aaa(.(boxes, S), S, -(box, p))
U8_aaa(Si, So, S, T, noun_out_aaa(St, So, N)) → U9_aaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_aaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_aaa(Si, So, S)
U1_(np_out_aaa(S1, S2, S)) → U2_(verb_in_aag(S2, S3, S))
verb_in_aag(.(falls, So), So, s(s, N, fall)) → verb_out_aag(.(falls, So), So, s(s, N, fall))
verb_in_aag(.(fall, So), So, s(p, N, fall)) → verb_out_aag(.(fall, So), So, s(p, N, fall))
verb_in_aag(.(flies, So), So, s(s, N, fly)) → verb_out_aag(.(flies, So), So, s(s, N, fly))
verb_in_aag(.(fly, So), So, s(p, N, fly)) → verb_out_aag(.(fly, So), So, s(p, N, fly))
U2_(verb_out_aag(S2, S3, S)) → goal_out_
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
goal_in_ → U1_(np_in_aaa(S1, S2, S))
np_in_aaa(Si, So, S) → U7_aaa(Si, So, S, det_in_aaa(Si, St, T))
det_in_aaa(.(a, S), S, a) → det_out_aaa(.(a, S), S, a)
det_in_aaa(.(the, S), S, the) → det_out_aaa(.(the, S), S, the)
U7_aaa(Si, So, S, det_out_aaa(Si, St, T)) → U8_aaa(Si, So, S, T, noun_in_aaa(St, So, N))
noun_in_aaa(.(book, S), S, -(book, s)) → noun_out_aaa(.(book, S), S, -(book, s))
noun_in_aaa(.(books, S), S, -(book, p)) → noun_out_aaa(.(books, S), S, -(book, p))
noun_in_aaa(.(box, S), S, -(box, s)) → noun_out_aaa(.(box, S), S, -(box, s))
noun_in_aaa(.(boxes, S), S, -(box, p)) → noun_out_aaa(.(boxes, S), S, -(box, p))
U8_aaa(Si, So, S, T, noun_out_aaa(St, So, N)) → U9_aaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_aaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_aaa(Si, So, S)
U1_(np_out_aaa(S1, S2, S)) → U2_(verb_in_aag(S2, S3, S))
verb_in_aag(.(falls, So), So, s(s, N, fall)) → verb_out_aag(.(falls, So), So, s(s, N, fall))
verb_in_aag(.(fall, So), So, s(p, N, fall)) → verb_out_aag(.(fall, So), So, s(p, N, fall))
verb_in_aag(.(flies, So), So, s(s, N, fly)) → verb_out_aag(.(flies, So), So, s(s, N, fly))
verb_in_aag(.(fly, So), So, s(p, N, fly)) → verb_out_aag(.(fly, So), So, s(p, N, fly))
U2_(verb_out_aag(S2, S3, S)) → goal_out_
GOAL_IN_ → U1_1(np_in_aaa(S1, S2, S))
GOAL_IN_ → NP_IN_AAA(S1, S2, S)
NP_IN_AAA(Si, So, S) → U7_AAA(Si, So, S, det_in_aaa(Si, St, T))
NP_IN_AAA(Si, So, S) → DET_IN_AAA(Si, St, T)
U7_AAA(Si, So, S, det_out_aaa(Si, St, T)) → U8_AAA(Si, So, S, T, noun_in_aaa(St, So, N))
U7_AAA(Si, So, S, det_out_aaa(Si, St, T)) → NOUN_IN_AAA(St, So, N)
U8_AAA(Si, So, S, T, noun_out_aaa(St, So, N)) → U9_AAA(Si, So, S, comb_in_gga(T, N, S))
U8_AAA(Si, So, S, T, noun_out_aaa(St, So, N)) → COMB_IN_GGA(T, N, S)
U1_1(np_out_aaa(S1, S2, S)) → U2_1(verb_in_aag(S2, S3, S))
U1_1(np_out_aaa(S1, S2, S)) → VERB_IN_AAG(S2, S3, S)
goal_in_ → U1_(np_in_aaa(S1, S2, S))
np_in_aaa(Si, So, S) → U7_aaa(Si, So, S, det_in_aaa(Si, St, T))
det_in_aaa(.(a, S), S, a) → det_out_aaa(.(a, S), S, a)
det_in_aaa(.(the, S), S, the) → det_out_aaa(.(the, S), S, the)
U7_aaa(Si, So, S, det_out_aaa(Si, St, T)) → U8_aaa(Si, So, S, T, noun_in_aaa(St, So, N))
noun_in_aaa(.(book, S), S, -(book, s)) → noun_out_aaa(.(book, S), S, -(book, s))
noun_in_aaa(.(books, S), S, -(book, p)) → noun_out_aaa(.(books, S), S, -(book, p))
noun_in_aaa(.(box, S), S, -(box, s)) → noun_out_aaa(.(box, S), S, -(box, s))
noun_in_aaa(.(boxes, S), S, -(box, p)) → noun_out_aaa(.(boxes, S), S, -(box, p))
U8_aaa(Si, So, S, T, noun_out_aaa(St, So, N)) → U9_aaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_aaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_aaa(Si, So, S)
U1_(np_out_aaa(S1, S2, S)) → U2_(verb_in_aag(S2, S3, S))
verb_in_aag(.(falls, So), So, s(s, N, fall)) → verb_out_aag(.(falls, So), So, s(s, N, fall))
verb_in_aag(.(fall, So), So, s(p, N, fall)) → verb_out_aag(.(fall, So), So, s(p, N, fall))
verb_in_aag(.(flies, So), So, s(s, N, fly)) → verb_out_aag(.(flies, So), So, s(s, N, fly))
verb_in_aag(.(fly, So), So, s(p, N, fly)) → verb_out_aag(.(fly, So), So, s(p, N, fly))
U2_(verb_out_aag(S2, S3, S)) → goal_out_
GOAL_IN_ → U1_1(np_in_aaa(S1, S2, S))
GOAL_IN_ → NP_IN_AAA(S1, S2, S)
NP_IN_AAA(Si, So, S) → U7_AAA(Si, So, S, det_in_aaa(Si, St, T))
NP_IN_AAA(Si, So, S) → DET_IN_AAA(Si, St, T)
U7_AAA(Si, So, S, det_out_aaa(Si, St, T)) → U8_AAA(Si, So, S, T, noun_in_aaa(St, So, N))
U7_AAA(Si, So, S, det_out_aaa(Si, St, T)) → NOUN_IN_AAA(St, So, N)
U8_AAA(Si, So, S, T, noun_out_aaa(St, So, N)) → U9_AAA(Si, So, S, comb_in_gga(T, N, S))
U8_AAA(Si, So, S, T, noun_out_aaa(St, So, N)) → COMB_IN_GGA(T, N, S)
U1_1(np_out_aaa(S1, S2, S)) → U2_1(verb_in_aag(S2, S3, S))
U1_1(np_out_aaa(S1, S2, S)) → VERB_IN_AAG(S2, S3, S)
goal_in_ → U1_(np_in_aaa(S1, S2, S))
np_in_aaa(Si, So, S) → U7_aaa(Si, So, S, det_in_aaa(Si, St, T))
det_in_aaa(.(a, S), S, a) → det_out_aaa(.(a, S), S, a)
det_in_aaa(.(the, S), S, the) → det_out_aaa(.(the, S), S, the)
U7_aaa(Si, So, S, det_out_aaa(Si, St, T)) → U8_aaa(Si, So, S, T, noun_in_aaa(St, So, N))
noun_in_aaa(.(book, S), S, -(book, s)) → noun_out_aaa(.(book, S), S, -(book, s))
noun_in_aaa(.(books, S), S, -(book, p)) → noun_out_aaa(.(books, S), S, -(book, p))
noun_in_aaa(.(box, S), S, -(box, s)) → noun_out_aaa(.(box, S), S, -(box, s))
noun_in_aaa(.(boxes, S), S, -(box, p)) → noun_out_aaa(.(boxes, S), S, -(box, p))
U8_aaa(Si, So, S, T, noun_out_aaa(St, So, N)) → U9_aaa(Si, So, S, comb_in_gga(T, N, S))
comb_in_gga(a, -(N, s), s(s, N, V)) → comb_out_gga(a, -(N, s), s(s, N, V))
comb_in_gga(the, -(N, P), s(P, N, V)) → comb_out_gga(the, -(N, P), s(P, N, V))
U9_aaa(Si, So, S, comb_out_gga(T, N, S)) → np_out_aaa(Si, So, S)
U1_(np_out_aaa(S1, S2, S)) → U2_(verb_in_aag(S2, S3, S))
verb_in_aag(.(falls, So), So, s(s, N, fall)) → verb_out_aag(.(falls, So), So, s(s, N, fall))
verb_in_aag(.(fall, So), So, s(p, N, fall)) → verb_out_aag(.(fall, So), So, s(p, N, fall))
verb_in_aag(.(flies, So), So, s(s, N, fly)) → verb_out_aag(.(flies, So), So, s(s, N, fly))
verb_in_aag(.(fly, So), So, s(p, N, fly)) → verb_out_aag(.(fly, So), So, s(p, N, fly))
U2_(verb_out_aag(S2, S3, S)) → goal_out_